Introduction to vale
Vale is an open source linting tool designed to enhance clarity, consistency, and quality in written content. It's especially useful for technical documentation, blogs, and knowledge bases. By enforcing custom style guides, teams can maintain a unified voice across all content.
π Vale's key featuresβ
β
Custom Rules: define rules tailored to your organizationβs writing standards.
β
Predefined Style Guides: use existing guides like Proselint, write-good, and alex, or create your own.
β
Consistency: ensure uniform terminology, brand voice, and inclusive language.
β
Real-time Linting: identify grammar, spelling, and style issues instantly.
β
Automated Error Detection: streamline content reviews for greater efficiency.
β
Minimized Manual Editing: enforce writing standards and reduce manual corrections.
β
CI/CD Integration: works seamlessly with GitHub Actions, GitLab CI/CD, and Git Hooks.
β
Efficiency: runs smoothly within CI/CD workflows.
β
Broad Compatibility: supports GitHub Actions, GitLab CI/CD, Travis CI, and other automation tools.
β
Multi-Format Support: compatible with Markdown .md
, reStructuredText .rst
, HTML .html
, LaTeX .tex
, and Markdown Extended .mdx
.
β
Content Quality Assurance: enhances quality across various content types, including documentation and blogs.
β Batch Processing: facilitates large-scale content reviews.
β Editor & IDE Integration:
- CircleCI
- Emacs
- GitHub Actions
- Git Hooks
- JetBrains IDEs
- Obsidian
- Oxygen XML
- Sublime Text
- Neovim
- VS Code
- Qt Creator
- Zed
π‘ Practical use casesβ
β Technical documentationβ
πΉ Standardizes terminology and formatting in API docs, guides, and manuals.
πΉ Identifies typos, ambiguities, and inconsistencies in technical content.
β Content editing & reviewβ
πΉ Automates content reviews to align with brand guidelines.
πΉ Improves clarity and readability by flagging common mistakes.
β Documentation & Wiki quality assuranceβ
πΉ Enforces documentation standards for open-source projects and enterprise knowledge bases.
πΉ Reduces manual review efforts with automated quality checks.
π§ Installing valeβ
Install Vale using a package manager:
# macOS (Homebrew)
brew install vale
# Windows (Winget)
winget install vale
# Python (via pip)
pip install vale
After installation, configure Vale by creating a .vale.ini
file in your projectβs root directory.
π For more installation options, visit the official Vale documentation.
βοΈ Configuring valeβ
Use the vale configuration generator to create .vale.ini
files. Define rules, severity levels, and file formats.
π Generate your configuration file using the Vale configuration generator.
π οΈ Selecting a base styleβ
Vale supports various writing style guides:
β Microsoft writing style guide β Google developer documentation style guide β Red Hat documentation style guide
πΉ Use one base style to prevent conflicts.
Example: Applying the Microsoft Writing Style Guide
StylesPath = styles
MinAlertLevel = suggestion
Packages = Microsoft
[*.{md}]
BasedOnStyles = Vale, Microsoft
π Effect: The Microsoft Writing Style Guide applies to all .md
files.
π‘ Run vale sync
after configuration to initialize Vale.
π Enhancing content with supplementary stylesβ
Supplementary styles improve grammar, clarity, and inclusivity:
β Proselint: Improves grammar and readability.
β Write-good: Enforces clear, concise writing.
β Alex: Detects non-inclusive language.
β Joblint: Identifies biased language in job descriptions.
Combining styles for better content analysisβ
StylesPath = styles
MinAlertLevel = suggestion
Packages = Microsoft, proselint, write-good, alex
[*.{md}]
BasedOnStyles = Vale, Microsoft, proselint, write-good, alex
π Effect:
β
Microsoft β Writing best practices
β
Proselint β Grammar and readability improvements
β
Write-good β Clear, concise writing
β
Alex β Inclusive language enforcement
π File-Specific configurationsβ
Configure Vale for specific file types.
Markdown .md
and Markdown Extended .mdx
[*.{md,mdx}]
BasedOnStyles = Vale, Microsoft, proselint, write-good, alex
β Effect: Applies writing rules to Markdown and MDX files.
Markdown .md
and reStructuredText .rst
[*.{md,rst}]
BasedOnStyles = proselint
β Effect: Proselint rules apply to Markdown and reStructuredText files (commonly used in Python documentation).
π Running valeβ
Once .vale.ini
is configured, initialize Vale:
vale sync
β Downloads required style guides from StylesPath
.
π Discover more styles in the package explorer.
π§ Configuring the vale language serverβ
The vale language server improves your workflow by offering real-time grammar, style, and consistency checks via the Language Server Protocol (LSP).
πΉ Provides autocomplete, diagnostics, hover popups, and inline suggestions.
πΉ Compatible with various text editors and IDEs.
Setup stepsβ
1οΈβ£ Download vale-LS: GitHub Releases
2οΈβ£ Verify vale Installation: ensure itβs available in your systemβs $PATH
.
3οΈβ£ Configure vale: define linting rules in .vale.ini
.
4οΈβ£ Launch vale-LS: start it in your editor.
With vale and its language server, you can automate content quality checks, maintain consistency, and improve writing efficiency. π